【Linux基础及shell脚本】Linux操作命令

您所在的位置:网站首页 linux man ls命令 【Linux基础及shell脚本】Linux操作命令

【Linux基础及shell脚本】Linux操作命令

2023-06-25 21:34| 来源: 网络整理| 查看: 265

文章目录 1. 系统帮助命令1.1 man 命令1.2 help 命令1.3 命令 --help1.4 type 命令 2. 系统关机命令2.1 shutdown -h now2.2 shutdown -h 10 3. 系统重启命令3.1 shutdown -r now 4. 系统服务管理命令4.1 systemctl start sshd4.2 systemctl stop sshd4.3 systemctl restart sshd4.4 systemctl status sshd4.5 systemctl enable sshd4.6 systemctl disable sshd 5. 系统目录相关命令5.1 mkdir5.2 cd5.3 tree5.4 rm5.5 pwd5.6 ls5.7 du -sh 6. 系统文件相关命令6.1 touch6.2 echo6.3 cat6.4 more、less、head、tail6.5 cp6.6 mv6.7 vim 7. 系统压缩相关命令7.1 dddd if=/dev/zero of=/data/dwj.txt bs=100M count=10 7.2 gzip / gunzip7.3 bzip2 / bunzip27.4 tar 8. 系统别名相关命令9. 系统搜索相关命令9.1 find 10. 系统排序相关命令10.1 sort 11. 系统去重相关命令11.1 uniq 12. 综合示例示例一:查看和备份日志文件示例二:清理无用文件示例三:管理文本文件示例四:按大小备份文件示例五:提取并分析日志数据

1. 系统帮助命令 1.1 man 命令

man 命令是一种在线参考手册。用户可以通过 man 命令查阅各类命令的详细信息和使用方法。例如,要查看 ls 命令的详细使用方法,我们可以执行:

man ls 1.2 help 命令

help 命令可以查看 Linux 内部命令(bash shell 内部命令)的使用方法。例如,我们可以使用 help cd 来查看 cd 命令的使用方法:

help cd 1.3 命令 --help

--help 是一个常见的选项,用于查看命令的使用方法和选项信息。这个选项通常用于外部命令,例如我们可以使用 ls --help 来查看 ls 命令的使用方法和选项信息:

ls --help 1.4 type 命令

type 命令用于判断给定的命令是内部命令还是外部命令。例如,我们可以使用 type ls 来查看 ls 是内部命令还是外部命令:

type ls 2. 系统关机命令 2.1 shutdown -h now

立即关闭系统。这个命令相当于 poweroff 或 init 0。

sudo shutdown -h now 2.2 shutdown -h 10

延迟 10 分钟后关闭系统。

sudo shutdown -h +10 3. 系统重启命令 3.1 shutdown -r now

立即重启系统。这个命令相当于 reboot 或 init 6。

sudo shutdown -r now 4. 系统服务管理命令

使用 systemctl 命令进行系统服务的管理。例如,管理 sshd 服务:

4.1 systemctl start sshd

启动 sshd 服务。

sudo systemctl start sshd 4.2 systemctl stop sshd

停止 sshd 服务。

sudo systemctl stop sshd 4.3 systemctl restart sshd

重启 sshd 服务。

sudo systemctl restart sshd 4.4 systemctl status sshd

查看 sshd 服务的状态。

systemctl status sshd 4.5 systemctl enable sshd

设置 sshd 服务开机自启。

sudo systemctl enable sshd 4.6 systemctl disable sshd

禁止 sshd 服务开机自启。

sudo systemctl disable sshd 5. 系统目录相关命令 5.1 mkdir

用于创建目录。

mkdir /data /backup 创建名为 /data 和 /backup 的目录。

mkdir /data /backup

mkdir -p /a/b/c/d 创建多级目录。

mkdir -p /a/b/c/d

mkdir data{01…10} 创建序列化的目录,例如 data01 到 data10。

mkdir data{01..10}

mkdir test{01…10…2} 创建跳序序列化的目录,例如 test01、test03、test05 等。

mkdir test{01..10..2}

mkdir {conf,log,data} 创建三个无序的目录:conf、log 和 data。

mkdir {conf,log,data} 5.2 cd

用于切换目录。

cd /data 切换到 /data 目录。

cd /data

cd … 返回上一级目录。

cd ..

cd ~ 切换到用户主目录。

cd ~

cd - 回到上次 cd 的路径。

cd - 5.3 tree

用于查看目录结构。

tree /data 查看 /data 目录的目录树。

tree /data 5.4 rm

用于删除目录或文件。

rmdir data01 删除名为 data01 的空目录。

rmdir data01

rm -r /a 删除非空目录 /a,请慎用,-f 选项可以强制删除。

rm -r /a 5.5 pwd

用于显示当前工作目录的路径。

pwd 5.6 ls

用于列出目录内容。

ls 列出当前目录内容。

ls

ls -l 以长格式列出目录内容。

ls -l

ls -d 只查看目录信息,不列出目录内的内容。

ls -d

ls -lt 按时间排序查看最新编辑的文件信息。

ls -lt

ls -lS 按文件大小排序查看文件信息。

ls -lS 5.7 du -sh

查看当前目录的大小。

du -sh . 6. 系统文件相关命令 6.1 touch

用于创建空文件或者修改文件的时间戳。

touch /data/file01 创建名为 /data/file01 的空文件。

touch /data/file01

touch /data/file{1…100} 创建100个文件,命名为 file1 到 file100。

touch /data/file{1..100} 6.2 echo

echo 命令用于在终端打印信息或将信息重定向到文件。

echo “hello” 打印 “hello” 到终端。

echo "hello"

echo “hehe” > /data/file01 将 “hehe” 重定向覆盖到 /data/file01 文件,文件原内容会被清空。

echo "hehe" > /data/file01

echo “haha” >> /data/file01 将 “haha” 追加到 /data/file01 文件末尾。

echo "haha" >> /data/file01 6.3 cat

cat 命令用于查看文件内容或将多个文件内容拼接并打印。

cat 查看文件内容。例如查看 /data/file01 文件内容:

cat /data/file01

cat >> /data/file02 > /data/file02 /data/file02 6.4 more、less、head、tail

用于查看文件内容。

more 分页显示文件内容,不能回翻。例如,查看 /data/file01 文件内容:

more /data/file01

less 分页显示文件内容,可以回翻。例如,查看 /data/file01 文件内容:

less /data/file01

head 查看文件前几行,默认为10行。例如,查看 /data/file01 文件前5行:

head -n 5 /data/file01

tail 查看文件后几行,默认为10行。例如,查看 /data/file01 文件后5行:

tail -n 5 /data/file01

-f 参数可以用于动态追踪查看文件末尾的内容。

6.5 cp

cp 命令用于复制文件或目录。

cp /data/file01 /backup 将 /data/file01 文件复制到 /backup 目录下。

cp /data/file01 /backup

cp -r /data /backup 复制整个 /data 目录到 /backup 目录。

cp -r /data /backup

cp -rp /data/file01 /backup 保留文件属性复制 /data/file01 文件到 /backup 目录。

cp -rp /data/file01 /backup 6.6 mv

mv 命令用于移动或重命名文件或目录。

mv /data/file02 /backup 将 /data/file02 文件移动到 /backup 目录。

mv /data/file02 /backup

mv /data/file01 /data/file 将 /data 目录下的 file01 文件重命名为 file。

mv /data/file01 /data/file 6.7 vim

vim 是一款功能强大的文本编辑器。

vim /data/file01 编辑 /data/file01 文件。

vim /data/file01

编辑器中有三种模式:命令模式、插入模式和命令行模式。

a、i 和 o 命令可以切换到插入模式(a: 在光标后一位输入;i:在当前光标输入;o:在下一行输入)。Esc 键可以退回到命令模式。: 命令可以进入到命令行模式。

在命令行模式下,可以执行各种命令,如保存文件(:wq、:x 或 ZZ)、不保存退出(:q!)、另存为(:w /tmp/file01)等。在编辑模式下,可以进行文本的增删改查操作。

7. 系统压缩相关命令 7.1 dd

dd 命令可以用于复制和转换文件。

dd if=/dev/zero of=/data/dwj.txt bs=100M count=10

创建一个大小为1000M的空文件 /data/dwj.txt。

dd if=/dev/zero of=/data/dwj.txt bs=100M count=10 7.2 gzip / gunzip

gzip 和 gunzip 命令用于压缩和解压 .gz 文件。

gzip /data/dwj.txt 将 /data/dwj.txt 文件压缩成 /data/dwj.txt.gz。

gzip /data/dwj.txt

gunzip /data/dwj.gz 将 /data/dwj.gz 解压成 /data/dwj。

gunzip /data/dwj.gz

或者使用 gzip -d 命令:

gzip -d /data/dwj.gz 7.3 bzip2 / bunzip2

bzip2 和 bunzip2 命令用于压缩和解压 .bz2 文件。

bzip2 /data/dwj.txt 将 /data/dwj.txt 文件压缩成 /data/dwj.txt.bz2。

bzip2 /data/dwj.txt

bunzip2 /data/dwj.bz2 将 /data/dwj.bz2 解压成 /data/dwj。

bunzip2 /data/dwj.bz2

或者使用 bzip2 -d 命令:

bzip2 -d /data /dwj.bz2 7.4 tar

tar 命令用于创建、解包、查看、添加和删除 tar 压缩包。

tar zcf /backup/etc-boot.tar.gz /etc /boot 将 /etc 和 /boot 目录归档并压缩成 gzip 格式的压缩包 /backup/etc-boot.tar.gz。

tar zcf /backup/etc-boot.tar.gz /etc /boot

tar xf /backup/etc-boot.tar.gz 解压 /backup/etc-boot.tar.gz 到当前目录。

tar xf /backup/etc-boot.tar.gz

可以使用 -C 参数指定解压的目标目录:

tar xf /backup/etc-boot.tar.gz -C /target/directory

tar jcf /backup/etc-boot.tar.bz2 /etc /boot 将 /etc 和 /boot 目录归档并压缩成 bzip2 格式的压缩包 /backup/etc-boot.tar.bz2。

tar jcf /backup/etc-boot.tar.bz2 /etc /boot

tar xf /backup/etc-boot.tar.bz2 解压 /backup/etc-boot.tar.bz2 到当前目录。

tar xf /backup/etc-boot.tar.bz2

可以使用 -C 参数指定解压的目标目录:

tar xf /backup/etc-boot.tar.bz2 -C /target/directory 8. 系统别名相关命令

alias 命令可以为其他命令创建一个别名,简化命令的输入。

alias c=clear 设置别名 c 表示清屏命令 clear。

alias c=clear

alias 查看当前已设置的所有别名。

alias

unalias c 取消别名 c。

unalias c

如果想要让别名在重启后仍然有效,可以将 alias 命令添加到 ~/.bashrc 或 ~/.bash_profile 文件中。

vim /root/.bashrc 编辑 root 用户的 ~/.bashrc 文件,添加别名设置。

vim /root/.bashrc

在文件末尾添加如下行:

alias c=clear

然后保存退出。

. /root/.bashrc 让修改后的 ~/.bashrc 文件立即生效。

. /root/.bashrc 9. 系统搜索相关命令 9.1 find

find 命令用于在文件系统中搜索文件。

find /etc/ -name sshd_config 通过文件名搜索 /etc/ 目录下的 sshd_config 文件。

find /etc/ -name sshd_config

find /etc -iname SSHD_CONFIG 忽略大小写搜索 /etc/ 目录下的 SSHD_CONFIG 文件。

find /etc -iname SSHD_CONFIG

find /etc/ -name *.cfg 使用 * 通配符搜索 /etc/ 目录下所有以 .cfg 结尾的文件。

find /etc/ -name *.cfg

find /etc/ -name ???.log 使用 ? 通配符搜索 /etc/ 目录下长度为 5 的以 .log 结尾的文件。

find /etc/ -name ?????.log

find / -type f 搜索文件系统中的所有文件(d 代表目录,f 代表文件,s 代表套接字,b 代表块设备,l 代表链接)。

find / -type f

find . -type f -atime -7 搜索最近七天内被访问过的所有文件。

find . -type f -atime -7

find . -type f -mtime 7 搜索恰好在七天前被修改过的所有文件。

find . -type f -mtime 7

find . -type f -ctime +7 搜索超过七天未修改属性的所有文件。

find . -type f -ctime +7

注意:stat 命令可以查看文件访问、更改等属性;touch -a 可用于修改访问属性,-m 可用于修改更改属性。

find / -user testuser -type f 搜索属于 testuser 用户的所有文件。

find / -user testuser -type f

find / -group devgroup -type f 搜索属于 devgroup 组的所有文件。

find / -group devgroup -type f

find / -type f -nouser 搜索系统中的孤儿文件(文件属主用户已被删除)。

find / -type f -nouser

find / ! -user root -type f 搜索不属于 root 用户的所有文件。

find / ! -user root -type f

find / -perm -g=w -type f 查找 / 目录下,小组权限为可写的所有文件。

find / -perm -g=w -type f

find / -perm -222 -type f 查找 / 目录下,用户、组和其他人都有写权限的所有文件。

find / -perm -222 -type f

find / -perm /222 -type f 查找 / 目录下,

用户、组或其他人有写权限的所有文件。

find / -perm /222 -type f

注意:u 用户,g 组,o 其他人;r 读,w 写,x 执行;r=4,w=2,x=1。

find / -type f -size -4M 查找 / 目录下,文件大小小于 4M 的所有文件。

find / -type f -size -4M

find / -type f -size 2M 查找 / 目录下,文件大小等于 2M 的所有文件。

find / -type f -size 2M

find / -type f -size +5M 查找 / 目录下,文件大小大于 5M 的所有文件。

find / -type f -size +5M

find /etc -name *.cfg -type f -exec cp {} /backup ; 查找 /etc 目录下的所有 .cfg 文件并将它们复制到 /backup 目录,执行时无提示。

find /etc -name *.cfg -type f -exec cp {} /backup \;

find /etc -name *.cfg -type f -ok cp {} /backup ; 查找 /etc 目录下的所有 .cfg 文件并将它们复制到 /backup 目录,执行时有提示。

find /etc -name *.cfg -type f -ok cp {} /backup \;

find /data -type f -size 0 -exec rm -rf {} ; 查找 /data 目录下的所有空文件,并删除。

find /data -type f -size 0 -exec rm -rf {} \; 10. 系统排序相关命令 10.1 sort

sort 命令用于将文本文件内容进行排序。

首先创建 ranking.txt 文件:

cat > ranking.txt } \; # 删除孤儿文件 find /data -type f -nouser -exec rm -rf {} \; 示例三:管理文本文件

在 /etc 目录下,找出所有以 .cfg 结尾的文件,将它们的内容排序并删除重复行,然后保存到 /sorted/sorted_cfg.txt 中。

# 找出文件,排序,去重,保存 find /etc -name "*.cfg" -exec cat {} \; | sort | uniq > /sorted/sorted_cfg.txt 示例四:按大小备份文件

在 /data 目录下,找出所有大小超过 5M 的文件,然后将它们复制到 /backup/big_files 目录中。

# 查找并复制文件 find /data -type f -size +5M -exec cp {} /backup/big_files \; # 验证文件 ls -l /backup/big_files 示例五:提取并分析日志数据

在 /var/log 目录下,找出所有在过去30分钟内被访问过的日志文件,然后从这些文件中提取出所有的错误信息,排序这些错误信息,并统计每种错误发生的次数。

# 查找文件,提取错误信息,排序,统计次数 find /var/log -type f -amin -30 -exec cat {} \; | grep "ERROR" | sort | uniq -c


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3